Modern mobile systems often provide a variety of services to mobile device users. For example, such systems provide advertising and social network services to users based on user locations. Knowing the locations of users' mobile devices allows the service providers to provide more targeted advertising and social network services to the users.
A conventional method determines the locations of mobile devices by using GPS (Global Positioning System). Unfortunately, GPS is often unavailable in many locations where mobile devices are used. For example, when the mobile devices are located in a building or indoor situation, the location information through GPS may not be available. In addition, GPS may not accurately distinguish between users in different vertical locations such as a user on one floor and another user on another floor.
Another method uses input sounds of mobile devices to determine the user locations. However, there are some cases where it may be difficult to determine the locations of the mobile devices based on ambient sounds. For example, if loud sound generated by a flying aircraft or a public announcement propagates through a large area, ambient sounds of mobile devices positioned within the area may not be distinguishable. Thus, the locations of mobile devices may not be determined accurately from the input sounds of the mobile devices.